Banner notification in locked host monitor

ABSTRACT

Aspects of the disclosure relates to systems and methods for locking a display device of a host computer remotely using a management controller, and providing a banner notification on the locked display device. The system includes a computing device as the host computer, which has a display device, and a management controller. When the management controller receives a locking command, the management controller, in response to the locking command, performs the following operations: generating a locking instruction, and sending the locking instruction to the computing device to lock the display device; and generating a message display instruction including a message to be displayed, and sending the message display instruction to the display device of the computing device, in order to display the message on the display device. Thus, a local user at the computing device may be notified by the message that the display device is locked.

FIELD

The present disclosure relates generally to management controllertechnology, and more particularly to systems and methods for locking adisplay device of a host computer remotely using a managementcontroller, and providing a banner notification on the locked displaydevice.

BACKGROUND

The background description provided herein is for the purpose ofgenerally presenting the context of the disclosure. Work of thepresently named inventors, to the extent it is described in thisbackground section, as well as aspects of the description that may nototherwise qualify as prior art at the time of filing, are neitherexpressly nor impliedly admitted as prior art against the presentdisclosure.

In a host computer having a management controller, the managementcontroller may provide a feature of “host monitor lock,” which is usedto lock the local monitor (i.e., the display device of the hostcomputer). However, a local user at the host computer may not know thatthe local monitor is locked, and may interfere the operation of the hostcomputer accidently.

Therefore, an unaddressed need exists in the art to address theaforementioned deficiencies and inadequacies.

SUMMARY

Certain aspects of the present disclosure relate to a system including acomputing device and a management controller communicatively connectedto the computing device. In certain embodiments, the computing deviceincludes a display device. The management controller comprising aprocessor and a non-volatile memory storing computer executable code,wherein the computer executable code, when executed at the processor ofthe management controller, is configured to: receive a locking command;and in response to receiving the locking command, generate a lockinginstruction, and send the locking instruction to the computing device tolock the display device of the computing device, and generate a messagedisplay instruction comprising a message to be displayed, and send themessage display instruction to the locked display device of thecomputing device to display the message on the locked display device ofthe computing device.

In certain embodiments, the management controller is a baseboardmanagement controller (BMC).

In certain embodiments, the locking command is received from a remotecomputing device communicatively connected to the management controllervia a network. In certain embodiments, the remote computing device isconfigured to generate the locking command through a Java console.

In certain embodiments, the computer executable code includes a networkcontrol module, configured to receive the locking command from theremote computing device; a display lock module, configured to generatethe locking instruction, and send the locking instruction to thecomputing device; and a message display module, configured to generatethe message display instruction, and send the message displayinstruction to the locked display device of the computing device. Incertain embodiments, the computer executable code further includes aninput control module, configured to generate an input lockinginstruction, and send the input locking instruction to the computingdevice to lock at least one input devices of the computing device.

In certain embodiments, the at least one input device comprises akeyboard and a mouse.

In certain embodiments, the management controller further includes avideo graphics array (VGA) adapter, and the message display module isconfigured to send the message display instruction to the VGA adapter,such that the VGA adapter controls locked display device of thecomputing device based on the message display instruction to display themessage on the locked display device of the computing device.

In certain embodiments, the message to be displayed is a text, a banner,or a combination thereof.

Certain aspects of the present disclosure relate to a method of lockinga display device of a computing device by a management controller. Incertain embodiments, the method includes: receiving, by the managementcontroller, a locking command, wherein the management controller iscommunicatively connected to the computing device; and in response toreceiving the locking command, generating, by the management controller,a locking instruction, and sending the locking instruction to thecomputing device to lock the display device, and generating, by themanagement controller, a message display instruction comprising amessage to be displayed, and sending the message display instruction tothe locked display device of the computing device to display the messageon the locked display device of the computing device.

In certain embodiments, the management controller is a baseboardmanagement controller (BMC).

In certain embodiments, the locking command is received from a remotecomputing device communicatively connected to the management controllervia a network. In certain embodiments, the remote computing device isconfigured to generate the locking command through a Java console.

In certain embodiments, the method further includes generating, by themanagement controller, an input locking instruction, and sending theinput locking instruction to the computing device to lock at least oneinput devices of the computing device.

In certain embodiments, the at least one input device comprises akeyboard and a mouse.

In certain embodiments, the management controller further includes avideo graphics array (VGA) adapter, and the message display module isconfigured to send the message display instruction to the VGA adapter,such that the VGA adapter controls locked display device of thecomputing device based on the message display instruction to display themessage on the locked display device of the computing device.

In certain embodiments, the message to be displayed is a text, a banner,or a combination thereof.

Certain aspects of the present disclosure relate to a non-transitorycomputer readable medium storing computer executable code. In certainembodiments, the computer executable code, when executed at a processorof a management controller, is configured to: receive a locking command;and in response to receiving the locking command, generate a lockinginstruction, and send the locking instruction to a computing devicecommunicatively connected to the management controller to lock a displaydevice of the computing device, and generate a message displayinstruction comprising a message to be displayed, and send the messagedisplay instruction to the locked display device of the computing deviceto display the message on the locked display device of the computingdevice.

In certain embodiments, the computer executable code includes: a networkcontrol module, configured to receive the locking command from a remotecomputing device communicatively connected to the management controllervia a network; a display lock module, configured to generate the lockinginstruction, and send the locking instruction to the computing device;and a message display module, configured to generate the message displayinstruction, and send the message display instruction to the lockeddisplay device of the computing device. In certain embodiments, thecomputer executable code further includes an input control module,configured to generate an input locking instruction, and send the inputlocking instruction to the computing device to lock at least one inputdevices of the computing device.

In certain embodiments, the management controller is a baseboardmanagement controller (BMC).

In certain embodiments, the locking command is received from a remotecomputing device communicatively connected to the management controllervia a network. In certain embodiments, the remote computing device isconfigured to generate the locking command through a Java console.

In certain embodiments, the at least one input device comprises akeyboard and a mouse.

In certain embodiments, the management controller further includes avideo graphics array (VGA) adapter, and the message display module isconfigured to send the message display instruction to the VGA adapter,such that the VGA adapter controls locked display device of thecomputing device based on the message display instruction to display themessage on the locked display device of the computing device.

In certain embodiments, the message to be displayed is a text, a banner,or a combination thereof.

These and other aspects of the present disclosure will become apparentfrom following description of the preferred embodiment taken inconjunction with the following drawings and their captions, althoughvariations and modifications therein may be affected without departingfrom the spirit and scope of the novel concepts of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become more fully understood from thedetailed description and the accompanying drawings. These accompanyingdrawings illustrate one or more embodiments of the present disclosureand, together with the written description, serve to explain theprinciples of the present disclosure. Wherever possible, the samereference numbers are used throughout the drawings to refer to the sameor like elements of an embodiment, and wherein:

FIG. 1 schematically depicts an exemplary system according to certainembodiments of the present disclosure.

FIG. 2 schematically depicts a flowchart of a method of locking adisplay device according to certain embodiments of the presentdisclosure.

FIG. 3 schematically depicts a display locking process according tocertain embodiments of the present disclosure.

DETAILED DESCRIPTION

The present disclosure is more particularly described in the followingexamples that are intended as illustrative only since numerousmodifications and variations therein will be apparent to those skilledin the art. Various embodiments of the disclosure are now described indetail. Referring to the drawings, like numbers, if any, indicate likecomponents throughout the views. As used in the description herein andthroughout the claims that follow, the meaning of “a”, “an”, and “the”includes plural reference unless the context clearly dictates otherwise.Also, as used in the description herein and throughout the claims thatfollow, the meaning of “in” includes “in” and “on” unless the contextclearly dictates otherwise. Moreover, titles or subtitles may be used inthe specification for the convenience of a reader, which shall have noinfluence on the scope of the present disclosure. Additionally, someterms used in this specification are more specifically defined below.

The terms used in this specification generally have their ordinarymeanings in the art, within the context of the disclosure, and in thespecific context where each term is used. Certain terms that are used todescribe the disclosure are discussed below, or elsewhere in thespecification, to provide additional guidance to the practitionerregarding the description of the disclosure. For convenience, certainterms may be highlighted, for example using italics and/or quotationmarks. The use of highlighting has no influence on the scope and meaningof a term; the scope and meaning of a term is the same, in the samecontext, whether or not it is highlighted. It will be appreciated thatsame thing can be said in more than one way. Consequently, alternativelanguage and synonyms may be used for any one or more of the termsdiscussed herein, nor is any special significance to be placed uponwhether or not a term is elaborated or discussed herein. Synonyms forcertain terms are provided. A recital of one or more synonyms does notexclude the use of other synonyms. The use of examples anywhere in thisspecification including examples of any terms discussed herein isillustrative only, and in no way limits the scope and meaning of thedisclosure or of any exemplified term. Likewise, the disclosure is notlimited to various embodiments given in this specification.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art to which this disclosure pertains. In the case of conflict, thepresent document, including definitions will control.

As used herein, “around”, “about” or “approximately” shall generallymean within 20 percent, preferably within 10 percent, and morepreferably within 5 percent of a given value or range. Numericalquantities given herein are approximate, meaning that the term “around”,“about” or “approximately” can be inferred if not expressly stated.

As used herein, “plurality” means two or more.

As used herein, the terms “comprising,” “including,” “carrying,”“having,” “containing,” “involving,” and the like are to be understoodto be open-ended, i.e., to mean including but not limited to.

As used herein, the phrase at least one of A, B, and C should beconstrued to mean a logical (A or B or C), using a non-exclusive logicalOR. It should be understood that one or more steps within a method maybe executed in different order (or concurrently) without altering theprinciples of the present disclosure.

As used herein, the term “module” may refer to, be part of, or includean Application Specific Integrated Circuit (ASIC); an electroniccircuit; a combinational logic circuit; a field programmable gate array(FPGA); a processor (shared, dedicated, or group) that executes code;other suitable hardware components that provide the describedfunctionality; or a combination of some or all of the above, such as ina system-on-chip. The term module may include memory (shared, dedicated,or group) that stores code executed by the processor.

The term “code”, as used herein, may include software, firmware, and/ormicrocode, and may refer to programs, routines, functions, classes,and/or objects. The term shared, as used above, means that some or allcode from multiple modules may be executed using a single (shared)processor. In addition, some or all code from multiple modules may bestored by a single (shared) memory. The term group, as used above, meansthat some or all code from a single module may be executed using a groupof processors. In addition, some or all code from a single module may bestored using a group of memories.

As used herein, the term “headless system” or “headless machine”generally refers to the computer system or machine that has beenconfigured to operate without a monitor (the missing “head”), keyboard,and mouse.

The term “interface”, as used herein, generally refers to acommunication tool or means at a point of interaction between componentsfor performing data communication between the components. Generally, aninterface may be applicable at the level of both hardware and software,and may be uni-directional or bi-directional interface. Examples ofphysical hardware interface may include electrical connectors, buses,ports, cables, terminals, and other I/O devices or components. Thecomponents in communication with the interface may be, for example,multiple components or peripheral devices of a computer system.

The terms “chip” or “computer chip”, as used herein, generally refers toa hardware electronic component, and may refer to or include a smallelectronic circuit unit, also known as an integrated circuit (IC), or acombination of electronic circuits or ICs.

The present disclosure relates to computer systems. As depicted in thedrawings, computer components may include physical hardware components,which are shown as solid line blocks, and virtual software components,which are shown as dashed line blocks. One of ordinary skill in the artwould appreciate that, unless otherwise indicated, these computercomponents may be implemented in, but not limited to, the forms ofsoftware, firmware or hardware components, or a combination thereof.

The apparatuses, systems and methods described herein may be implementedby one or more computer programs executed by one or more processors. Thecomputer programs include processor-executable instructions that arestored on a non-transitory tangible computer readable medium. Thecomputer programs may also include stored data. Non-limiting examples ofthe non-transitory tangible computer readable medium are nonvolatilememory, magnetic storage, and optical storage.

The present disclosure will now be described more fully hereinafter withreference to the accompanying drawings, in which embodiments of thepresent disclosure are shown. This disclosure may, however, be embodiedin many different forms and should not be construed as limited to theembodiments set forth herein; rather, these embodiments are provided sothat this disclosure will be thorough and complete, and will fullyconvey the scope of the present disclosure to those skilled in the art.

In one aspect, the present disclosure provides a baseboard managementcontroller (BMC) that supports a feature of locking a display device ofa host computing device, such as a local monitor. This locking featuremay be performed from a remote Java console.

In certain embodiments, when the local display device of the hostcomputing device is locked, and the keyboard and the mouse connected tothe local computing device works, an administrator who goes and looksdirectly at the local display device finds the local display device asblack screen may doubt some cable connection failure or machine issues.The administrator may then play with the keyboard, the mouse, or cableconnections, which might lead to a chaos. In another example, when theuser accessing the Java console is doing some operating systeminstallation or any copying via redirection, if a user accessing thelocal display device presses Ctrl+Alt+Del using the keyboard, everythingwill get interrupted and fail. Therefore, in another aspect, the presentdisclosure further provides, when the local display device is locked bythe remote user using the Java console, a system and a method fornotifying a local user accessing the display device the locking statusof the display device, and optionally locks the keyboard and the mouseto prevent interruption of the work of the remote user.

In accordance with the purposes of present disclosure, as embodied andbroadly described herein, in certain aspects, the present disclosurerelates to a system having a computing device and a baseboard managementcontroller (BMC) communicatively connected to the computing device. FIG.1 schematically depicts an exemplary system according to certainembodiments of the present disclosure. As shown in FIG. 1, a system 100includes a remote computing device 110, a management controller 130, anda computing device 170. In certain embodiments, the managementcontroller 130 is a BMC. The remote computing device 110 iscommunicatively connected to the BMC 130 via a network 110, and the BMC130 is connected to the computing device 170 via a system interface 150.

In certain embodiments, the network 120 may be a wired or wirelessnetwork, and may be of various forms. Examples of the network 120 mayinclude, but is not limited to, a local area network (LAN), a wide areanetwork (WAN) including the Internet, or any other type of networks. Thebest-known computer network is the Internet.

The system interface 150 is an interface to perform data transferbetween the computing device 170 and the BMC 130. In certainembodiments, the system interface 150 may be a typical standardizedIntelligent Platform Management Interface (IPMI) system interfaces, suchas a keyboard controller style (KCS) interface, a system managementinterface chip (SMIC) interface, or a block transfer (BT) interface. Incertain embodiments, the BMC 130 may be connected to the computingdevice 170 via one or more interfaces replacing or in addition to thesystem interface 150. For example, the BMC 130 may be connected to thecomputing device 170 via a universal serial bus (USB) interface. Incertain embodiments, data transfer between the BMC 130 and the computingdevice 170 may be in the format of IPMI messages, which goes through thesystem interface 150 or any other interfaces between the BMC 130 and thecomputing device 170.

The computing device 170 is a host computer of the BMC 130. I In certainembodiments, the computing device 170 may be a general purpose computer,a specialized computer, a server, or any other types of computingdevice. As shown in FIG. 1, the computing device 170 may include,without being limited to, a processor 172, a memory 174, a storagedevice 176, a video graphics array (VGA) card 178, a display device 179,and keyboard and mouse 180. In certain embodiments, the computing device170 may include other hardware components and software components (notshown) to perform its corresponding tasks. Examples of these hardwareand software components may include, but not limited to, other requiredmemory, interfaces, buses, Input/Output (I/O) modules and peripheraldevices.

The processor 172 is a host processor which is configured to controloperation of the computing device 170. In certain embodiments, theprocessor 172 may be a central processing unit (CPU). The processor 172may execute an operation system (OS) and/or other applications of thecomputing device 170. In some embodiments, the computing device 170 mayhave more than one CPU as the processor, such as two CPUs, four CPUs,eight CPUs, or any suitable number of CPUs.

The memory 174 may be a volatile memory, such as the random-accessmemory (RAM), for storing the data and information during the operationof the computing device 170. In certain embodiments, the computingdevice 170 may run on more than one memory 174. In certain embodiments,the memory 174 is in communication with the processor 172 through asystem bus (not shown).

The storage device 176 is a data storage media for storing the OS (notshown) and other applications of the computing device 170. Examples ofthe storage device 176 may include non-volatile memory such as flashmemory, memory cards, USB drives, hard drives, floppy disks, opticaldrives, or any other types of data storage devices. In certainembodiments, the computing device 170 may have multiple storage devices176, which may be identical storage devices or different types ofstorage devices, and the applications of the computing device 170 may bestored in one or more of the storage devices 176 of the computing device170.

The VGA card 178 is a display controller to control the display device179. In certain embodiments, the VGA card 178 may be a 15-pinD-subminiature VGA connector, or any other type of display controllersor cards.

The display device 179 is an output device for displaying signals forthe computing device 170. In certain embodiments, the display device 179is configured to display signals generated by the VGA card 178. Incertain embodiments, the display device 179 may be a peripheral device,such as a monitor of the computing device 170. Alternatively, thedisplay device 179 may be an integral component of the computing device170.

The keyboard and the mouse 180 are input devices of the computing device170. In certain embodiments, the computing device 170 may include onlyone of the keyboard and/or the mouse as the input device. Alternatively,in certain embodiments, the computing device 170 may include other inputdevices, such as a touch pad, a touch panel, or any other input devicethat a local user may perform input to the computing device 170.

The BMC 130 is a specialized microcontroller that manages the interfacebetween system management software and platform hardware. In certainembodiments, the BMC 130 may be a service processor (SP). Differenttypes of sensors can be built into the computing device 170, and the BMC130 reads these sensors to obtain parameters such as temperature,cooling fan speeds, power status, OS status, etc.

As shown in FIG. 1, the BMC 130 includes a processor 132, a memory 134,a network interface 136, a VGA adapter 138, and a non-volatile memory140. In certain embodiments, the BMC 130 may include other components,such as at least one I/O device (not shown).

The processor 132 controls operation of the BMC 130. The processor 132may execute a firmware 141 or other codes stored in the BMC 130. Incertain embodiments, the BMC 130 may run on or more than one processor.

The memory 134 may be a volatile memory, such as the RAM, for storingthe data and information during the operation of the BMC 130. When theBMC 130 restarts, the contents stored in the memory 134 will be lost.

The network interface 136 is the point of interconnection between theremote computing device 110 and the BMC 130. The network interface 136may be a network interface card (NIC), but does not have to have aphysical form. Instead, the network interface 136 can be implemented insoftware. The network interface 136 may be a system's (software and/orhardware) interface between two pieces of equipment or protocol layersin a computer network. The network interface 136 may have some form ofnetwork address. This may consist of a node Id and a port number or maybe a unique node Id in its own right. The network interfaces 136provides standardized functions such as passing messages, connecting anddisconnecting, etc.

The VGA adapter 138 is a display controller provided by the BMC 130. Incertain embodiments, the BMC 130 may control the VGA adapter 138 todisplay information on the display device 179 of the computing device170. In certain embodiments, the VGA adapter 138 is configured totransmit the data to be displayed on the display device 179 directly tothe display device 179, or transmit the data to be displayed to the VGAcard 178 of the computing device 170. In certain embodiments, the VGAadapter 138 may be a hardware component, or may be a softwareimplemented adapter.

As shown in FIG. 1, the non-volatile memory 140 stores the firmware 141of the BMC 130. In certain embodiments, the non-volatile memory 140 maybe a flash memory.

The firmware 141 of the BMC 130 includes computer executable codes forperforming the operation of the BMC 130. In certain embodiments, thecomputer executable code or instructions may collectively form thefirmware 141. As shown in FIG. 1, the firmware 141 includes, among otherthings, a network control module 142, a display lock module 144, amessage display module 146, and an input control module 148. In certainembodiments, each of the modules of the firmware 141 may further includeone or more sub-modules. Alternatively, in certain embodiments, some orall of the modules of the firmware 141 may collectively form a singlemodule.

The network control module 142 controls communication between the remotecomputing device 110 and the BMC 130 via the network 120 and the networkinterface 136. In certain embodiments, the network control module 142 isconfigured to receive a locking command from the remote computing device110, and in response to receiving the locking command, trigger theactions of the display lock module 144, the message display module 146,and the input control module 148.

The display lock module 144, when triggered by the locking commandreceived by the network control module 142, is configured to generate alocking instruction, and send the locking instruction to the computingdevice 170 to lock the display device 190.

The message display module 146, when triggered by the locking commandreceived by the network control module 142, is configured to generate amessage display instruction, and send the message display instruction tothe computing device 170. The message display instruction includes amessage to be displayed. The display device 179 then displays themessage. In certain embodiments, the message includes at least one of atext message or a banner, such as “Local monitor is locked by a Remotesession user” or “Local monitor access privilege is DECLINED,” which isused to notify a local user at the computing device 170 that the displaydevice 179 is locked. The above described message may be uploaded intothe BMC inbuilt VGA adaptor 138 in advance, and the message can then betransmitted to the display device 179 whenever the display device 190 islocked from a keyboard, video and mouse (KVM) session.

The BMC 130 optionally includes the input control module 148. The inputcontrol module 148, when triggered by the locking command received bythe network control module 142, is configured to generate an inputlocking instruction, and send the input locking instruction to thecomputing device 170. The computing device 170, upon receiving the inputlocking instruction, locks certain inputs of the computing device 170,such as a keyboard or a mouse.

The number of the remote computing device 110 is one or more, and theone or more remote computing devices 110 are remotely connected to theBMC 130 via the network 120. In certain embodiments, the remotecomputing device 110 may be a general purpose computer, a specializedcomputer, a server, a mobile device such as a laptop computer, asmartphone or a tablet, a management controller, a system-on-chip (SOC),or any other types of computing device. In certain embodiments, thecomputing device 170 is a server, and the remote computing deviceincludes one or more client computers. In certain embodiments, theremote computing device 110 provides interface for a Java console user.

FIG. 2 schematically depicts a flowchart showing a method of locking adisplay device according to certain embodiments of the presentdisclosure. In certain embodiments, the method as shown in FIG. 2 may beimplemented on a system as shown in FIG. 1. It should be particularlynoted that, unless otherwise stated in the present disclosure, the stepsof the method may be arranged in a different sequential order, and arethus not limited to the sequential order as shown in FIG. 2.

As shown in FIG. 2, at procedure 210, the BMC 130 receives a lockingcommand from the remote computing device 110. In certain embodiments,the locking command may be entered by an administrator or a user on theremote computing device 110, where the administrator or the user has theauthority to lock the display 179. In other embodiments, the lockingcommand may be generated by an application being executed. The lockingcommand may be received by the network interface 136 via the networkinterface 136, where the network interface 136 may be controlled by thenetwork control module 142 and the network control module 142 receivesthe locking command using the network interface 136.

At procedure 230, in response to receiving the locking command, the BMC130 generates a locking instruction, and sends the locking instructionto the computing device 170 to lock the display device 179 of thecomputing device 170. The generation of the locking instruction may betriggered by the network control module 142 when the network controlmodule 142 receives the locking command, and the generation of thelocking instruction may be performed by the display lock module 144. Incertain embodiments, the locking instruction includes the identificationinformation of the monitor 179 that is to be locked. In certainembodiments, to transmit the locking instruction from the BMC 130 to thecomputing device 170, the locking instruction may be included in an IPMImessage, such that the BMC 130 may send the IPMI message to thecomputing device 170 in order to lock the display device 179 of thecomputing device 170 accordingly.

At procedure 250, in response to receiving the locking command, the BMC130 generates a message display instruction, and sends the messagedisplay instruction to the display device 179 of the computing device170. The generation of the message display instruction may be triggeredby the network control module 142 when the network control module 142receives the locking command, and the generation of the message displayinstruction may be performed by the message display module 146. Incertain embodiments, the message display instruction includes a messageto be displayed and the identification information of the display device1790 that plays the message. In certain embodiments, the message displayinstruction is transmitted from the VGA adapter 138 of the BMC 130directly to the display device 179, or via the VGA 178 of the computingdevice 170, or any other suitable ways. The VGA adapter 138 of the BMC130 and the VGA 178 of the computing device 170 may be connecteddirectly or communicatively connected via the system interface 150. Uponreceiving the message display instruction, the display device 179 showsthe message accordingly. The message displayed on the display device 190may be a text, a banner or any other type of warning message, such as“Local monitor is locked by a Remote session user” and “Local monitoraccess privilege is DECLINED.”

At procedure 270, in response to receiving the locking command, the BMC130 generates an input locking instruction, and sends the input lockinginstruction to the computing device 170 to lock the keyboard and mouse180. The generation of the input locking instruction may be triggered bythe network control module 142 when the network control module 142receives the locking command, and the generation of the input lockinginstruction may be performed by the input control module 148. In certainembodiments, the input locking instruction includes a message to lockinput methods of the computing device 170. The input locking instructionmay be generated as an IPMI message, and is transmitted from the BMC 130to the computing device 170 via the system interface 150. Upon receivingthe input locking instruction, the computing device 170 locks certaininput methods of the computing device 170, such as a keyboard or amouse.

As described above, the procedures 230, 250 and 270 may be performed inany order, for example, sequentially, or in parallel, or independentfrom each other. In certain embodiments, at least one of the procedures250 and 270 is optional.

FIG. 3 schematically depicts a display locking process according tocertain embodiments of the present disclosure. In certain embodiments,the method as shown in FIG. 3 may be implemented on a system as shown inFIG. 1. It should be particularly noted that, unless otherwise stated inthe present disclosure, the steps of the method may be arranged in adifferent sequential order, and are thus not limited to the sequentialorder as shown in FIG. 3.

As shown in FIG. 3, at procedure 310, the remote computing device 110sends a locking command to the network control module 142 of the BMC 130via the network 120 and the network interface 136. In certainembodiments, the locking command may be entered by an administrator or auser on the remote computing device 110, where the administrator or theuser has the authority to lock the display 190. In other embodiments,the locking command may be generated by an application being executed.

Upon receiving the locking command from the remote computing device 110,at procedure 320, the network control module 142 processes the lockingcommand, and triggers actions of the display lock module 144, themessage display module 146, and the input control module 148. Thetrigger action may be performed by generates and sends trigger messagesto those modules 14, 146 and 148 respectively at procedures 330, 350 and370, where each of the trigger messages includes function to call one ofthe modules 144, 146 and 148 to perform an action.

At procedure 332, after the display lock module 144 receives thecorresponding trigger message, the display lock module 144 generate alocking instruction. Then at procedure 334, the display lock module 144sends the generated locking instruction to the computing device 170, tolock the display device 179 at procedure 336.

At procedure 352, after the message display module 146 receives andprocesses the corresponding trigger message, the message display module146 generate a message display instruction. The message displayinstruction includes a message to be displayed. The message to bedisplayed may be any form of a message, such as a text, a banner, or awarning message. In certain embodiments, the message may be “Localmonitor is locked by a Remote session user” or “Local monitor accessprivilege is DECLINED.” Then at procedure 354, the message displaymodule 146 sends the generated message display instruction to the VGAadapter 138 of the BMC 130. At procedure 356, according to the messagedisplay instruction, the VGA adapter 138 sends the message to thedisplay device 179 and display the message on the display device 179.

At procedure 372, after the input control module 148 receives andprocesses the corresponding trigger message, the input control module148 generate an input locking instruction. Then at procedure 374, theinput control module 148 sends the generated input locking instructionto the computing device 170, for example, via the system interface 150.The input locking instruction may be in a form of an IPMI message or maybe attached to an IPMI message. At procedure 376, the computing device170 processes the received input locking instruction, and according tothe input locking instruction, locks input of the computing device 170.For example, the inputs that are locked includes a keyboard and a mouse.

In certain embodiments, when the display device 190 and/or the keyboardand mouse of the computing device 170 are locked, and a local userinterrupt the keyboard, the system is further configured to send analert request to the remote user who uses the remote computing device tolock the display device 179. In response to receiving the alert message,the remote user can either release the host lock by saying YES or rejectthe access by saying NO. In certain embodiments, default access to thedisplay device by the local user will be provided after a timeoutperiod, such as 30 seconds, if there is no acknowledgement from theremote Java console user. In certain embodiments, another banner can beuploaded to the VGA 138 of the BMC 130 to show the message such as“Local monitor access privilege is DECLINED” when the display device 190user access request is rejected.

In another aspect, the present disclosure relates to a non-transitorycomputer readable medium storing computer executable code. In certainembodiments, the computer executable code may be the firmware stored inthe non-volatile memory 140 as described above. The computer executablecode, when being executed, may perform one of the methods describedabove. In certain embodiments, the non-transitory computer readablemedium may include, but not limited to, the non-volatile memory 140 ofthe BMC 130 as described above, or any other storage media of the BMC130.

The foregoing description of the exemplary embodiments of the disclosurehas been presented only for the purposes of illustration and descriptionand is not intended to be exhaustive or to limit the disclosure to theprecise forms disclosed. Many modifications and variations are possiblein light of the above teaching.

The embodiments were chosen and described in order to explain theprinciples of the disclosure and their practical application so as toenable others skilled in the art to utilize the disclosure and variousembodiments and with various modifications as are suited to theparticular use contemplated. Alternative embodiments will becomeapparent to those skilled in the art to which the present disclosurepertains without departing from its spirit and scope. Accordingly, thescope of the present disclosure is defined by the appended claims ratherthan the foregoing description and the exemplary embodiments describedtherein.

What is claimed is:
 1. A system, comprising: a computing device having adisplay device, at least one input device and a video graphics array(VGA) card configured to control the display device; a managementcontroller communicatively connected to the computing device andoperable independent and separately from the computing device, themanagement controller comprising a processor, a VGA adapter configuredto control the display device of the computing device, and anon-volatile memory storing computer executable code; and a remotecomputing device communicatively connected to the management controllervia a network; wherein the computer executable code, when executed atthe processor of the management controller, is configured to: receive alocking command from the remote computing device; in response toreceiving the locking command, generate an intelligent platformmanagement interface (IPMI) message including a locking instruction, andsend the IPMI message including the locking instruction to the computingdevice to lock the display device of the computing device; and generatea message display instruction comprising a message to be displayed, andsend the message display instruction to the locked display device of thecomputing device through the VGA adapter to display the message on thelocked display device of the computing device; when the display deviceof the computing device is locked, receive an interrupt notificationfrom the computing device indicating an access interrupt is receivedthrough the at least one input device of the computing device; and inresponse to receiving the interrupt notification, generate an alertrequest indicating the access interrupt, and send the alert request tothe remote computing device via the network, wherein the remotecomputing device, in response to the alert request, is configured togenerate a response to the alert request to either unlock the displaydevice of the computing device or to deny access of the computingdevice.
 2. The system of claim 1, wherein the management controller is abaseboard management controller (BMC).
 3. The system of claim 1, whereinthe remote computing device is configured to generate the lockingcommand through a Java console.
 4. The system of claim 1, wherein thecomputer executable code comprises: a network control module, configuredto receive the locking command from the remote computing device; adisplay lock module, configured to generate the locking instruction andthe IPMI message, and send the IPMI message including the lockinginstruction to the computing device; and a message display module,configured to generate the message display instruction, and send themessage display instruction to the locked display device of thecomputing device.
 5. The system of claim 4, wherein the computerexecutable code further comprises: an input control module, configuredto generate an input locking instruction, and send the input lockinginstruction to the computing device to lock the at least one inputdevices of the computing device.
 6. The system of claim 1, wherein theat least one input device comprises a keyboard and a mouse.
 7. Thesystem of claim 4, wherein the message display module is configured tosend the message display instruction to the VGA adapter, such that theVGA adapter controls the locked display device of the computing devicebased on the message display instruction to display the message on thelocked display device of the computing device.
 8. The system of claim 1,wherein the message to be displayed is a text message, a banner, or acombination thereof.
 9. The system of claim 1, wherein the computerexecutable code, when executed at the processor of the managementcontroller, is further configured to: after sending the alert request tothe remote computing device via the network, and in response to notreceiving a response to the alert request from the remote computingdevice within a timeout period, control the computing device to unlockthe display device of the computing device.
 10. A method for locking adisplay device of a computing device by a management controller,comprising: receiving, by the management controller, a locking commandfrom a remote computing device communicatively connected to themanagement controller via a network, wherein the management controlleris communicatively connected to the computing device and operableindependent and separately from the computing device, the computingdevice comprises at least one input device and a video graphics array(VGA) card configured to control the display device, and the managementcontroller comprises a VGA adapter configured to control the displaydevice of the computing device; in response to receiving the lockingcommand, generating, by the management controller, an intelligentplatform management interface (IPMI) message including a lockinginstruction, and sending the IPMI message including the lockinginstruction to the computing device to lock the display device; andgenerating, by the management controller, a message display instructioncomprising a message to be displayed, and sending the message displayinstruction to the locked display device of the computing device throughthe VGA adapter to display the message on the locked display device ofthe computing device; when the display device of the computing device islocked, receiving, by the management controller, an interruptnotification from the computing device indicating an access interrupt isreceived through at least one input device of the computing device; andin response to receiving the interrupt notification, generating, by themanagement controller, an alert request indicating the access interrupt,and sending the alert request to the remote computing device via thenetwork, wherein the remote computing device, in response to the alertrequest, is configured to generate a response to the alert request toeither unlock the display device of the computing device or to denyaccess of the computing device.
 11. The method of claim 10, wherein themanagement controller is a baseboard management controller (BMC). 12.The method of claim 10, wherein the remote computing device isconfigured to generate the locking command through a Java console. 13.The method of claim 10, further comprising: generating, by themanagement controller, an input locking instruction, and sending theinput locking instruction to the computing device to lock the at leastone input devices of the computing device.
 14. The method of claim 10,wherein the at least one input device comprises a keyboard and a mouse.15. The method of claim 10, wherein the message display instruction issent to the VGA adapter, such that the VGA adapter controls the lockeddisplay device of the computing device based on the message displayinstruction to display the message on the locked display device of thecomputing device.
 16. A non-transitory computer readable medium storingcomputer executable code, wherein the computer executable code, whenexecuted at a processor of a management controller, is configured to:receive a locking command from a remote computing device communicativelyconnected to the management controller via a network; in response toreceiving the locking command, generate an intelligent platformmanagement interface (IPMI) message including a locking instruction, andsend the IPMI message including the locking instruction to a computingdevice communicatively connected to the management controller to lock adisplay device of the computing device, wherein the managementcontroller is operable independent and separately from the computingdevice, the computing device comprises at least one input device and avideo graphics array (VGA) card configured to control the displaydevice, and the management controller comprises a VGA adapter configuredto control the display device of the computing device; and generate amessage display instruction comprising a message to be displayed, andsend the message display instruction to the locked display device of thecomputing device through the VGA adapter to display the message on thelocked display device of the computing device; when the display deviceof the computing device is locked, receive an interrupt notificationfrom the computing device indicating an access interrupt is receivedthrough the at least one input device of the computing device; and inresponse to receiving the interrupt notification, generate an alertrequest indicating the access interrupt, and send the alert request tothe remote computing device via the network, wherein the remotecomputing device, in response to the alert request, is configured togenerate a response to the alert request to either unlock the displaydevice of the computing device or to deny access of the computingdevice.
 17. The non-transitory computer readable medium of claim 16,wherein the computer executable code comprises: a network controlmodule, configured to receive the locking command from a remotecomputing device communicatively connected to the management controllervia a network; a display lock module, configured to generate the lockinginstruction and the IPMI message, and send the IPMI message includingthe locking instruction to the computing device; and a message displaymodule, configured to generate the message display instruction, and sendthe message display instruction to the locked display device of thecomputing device.
 18. The non-transitory computer readable medium ofclaim 17, wherein the computer executable code further comprises: aninput control module, configured to generate an input lockinginstruction, and send the input locking instruction to the computingdevice to lock the at least one input devices of the computing device.19. The non-transitory computer readable medium of claim 16, wherein theat least one input device comprises a keyboard and a mouse.
 20. Thenon-transitory computer readable medium of claim 17, wherein the messagedisplay module is configured to send the message display instruction tothe VGA adapter, such that the VGA adapter controls the locked displaydevice of the computing device based on the message display instructionto display the message on the locked display device of the computingdevice.